1. Field of the Invention
This invention is in the field of broadcast data networks, systems for receiving broadcast data
2. Related Art
Error correction is an important component of any system for the distribution of content data such as music or video. Error correction is particularly important for systems distributing by satellite or terrestrial broadcast. The increased likelihood of transmission error due to factors such as the atmospheric conditions or damage to receiving equipment increases the importance of insuring complete transmission of content data.
Due to the large amount of data that needs to be transmitted for the distribution of content data such as video, audio and data, there is a continuing need in the art for an efficient use of bandwidth. Content data such as a TV program, advertisement or song are transmitted in files comprised of many packets. Transmission errors typically involve some, but not all data packets. Systems that rebroadcast entire content data files in response to transmission error use bandwidth inefficiently. Systems that broadcast error correction transmissions repeatedly are inefficient especially if the transmissions are not automatically limited in number. Common error correcting protocols request retransmission immediately upon detecting an error. This leads to continuous interruption by multiple error reports from multiple receivers and inefficient multiple separate re-transmissions responsive to each of them.
There is also a continuing need for speed due to inherent delays in transmissions by satellites. If the system sends multiple error correction packets, the time required for complete correction of all errors is increased. Shortening this time by minimizing and aggregating the number of error correction packets transmitted is desirable.
There is a need in the art for a system that transmits error corrections for only those packets that contained errors in the original broadcast. There is a need in the art for a system that aggregates all error corrections and retransmits them in small number of error correction transmissions, preferably only one. In order to achieve this goal, there is a need in the art for a system that identifies which data packets were received with errors in which individual receivers, aggregates the corrections necessary into a single error correction message and transmits the error correction in a minimal number of transmission.
Content Data Distribution Systems
Most digital data distribution systems commonly work according to common familiar concepts. Multiple content data streams, video, audio or data, are divided into packets, multiplexed, transmitted, demultiplexed and routed for use to various receivers. The MPEG2 protocols are illustrative of the class, and characteristic of the embodiments discussed herein. Other protocols such as MPEG1 or DSS are alike in function although they vary in detail.
The Moving Picture Experts Group (MPEG) is the expert group of the International Organization for Standardization (ISO) that has defined the MPEG-2 standard protocol; a format that can be used to describe a coded video bitstream.
Video compression is an important part of the MPEG standards. Additionally, MPEG includes a family of standards involving different aspects of digital video and audio transmission and representation. The general MPEG-2 standard is currently divided into eight parts, including systems, video, audio, compliance, software simulation, digital storage media, real-time interface for system decoders, and DSM reference script format.
Video, audio, and other digital information must be multiplexed together to provide encoded bitstreams for delivery to the target destination. The Systems portion of the MPEG-2 standard (ISO/IEC 13818-1) defines how these bitstreams are synchronized and multiplexed together. Typically, video and audio data are encoded at respective video and audio encoders, and the resulting encoded video and audio data is input to an MPEG-2 Systems encoder/multiplexer. This Systems multiplexer can also receive other inputs, such as control and management information such as authorization identifiers, private data bitstreams, and time stamp information. The resulting coded, multiplexed signal is referred to as the MPEG-2 transport stream. Generally, a data transport stream is the format in which digital information is delivered via a network to a receiver for display.
The video portion of the MPEG-2 standard (ISO/IEC 13818-2) sets forth the manner in which pictures and frames are defined, how video data is compressed, various syntax elements, the video decoding process, and other information related to the format of a coded video bitstream. The audio portion of the MPEG-2 standard (ISO/IEC 13818-3) similarly describes the audio compression and coding techniques utilized in MPEG-2. The video and audio portions of the MPEG-2 standard therefore define the format with which audio or video information is represented. Any authorization control manipulation and any decryption must ultimately output data in this format for MPEG-2 applications
The video and audio encoders provide encoded information to the Systems multiplexer in the form of an “elementary stream”. These elementary streams are “packetized” into packetized bit streams which are comprised of many packets. Each packet includes a packet payload corresponding to the content data to be sent within the packet, and a packet header that includes information relating to the type, size, and other characteristics of the packet payload.
Bit stream packets from the video and audio encoders are mapped into transport stream packets at the Systems encoder/multiplexor. Each transport stream packet includes a payload portion and a transport stream packet header. The transport stream packet header provides information used to transport and deliver the information stream. Each transport packet header includes a packet identifier (PID) to identify the digital program or elementary stream to which it corresponds. Within the transport packet header is a packet identifier (PID), which is a 13-bit field used to identify transport packets which carry elementary stream data from the same elementary stream, and to define the type of payload in the transport packet payload.
Before the transport stream is decoded, the transport packets must undergo analysis, synchronization, demultiplexing, as well as other packet manipulating functions. These functions can be managed by devices such as a MPEG transport demultiplexor, in a known fashion.
After synchronization and demultiplexing, bit stream packets must be organized from the transport packets carrying them to output coherent content. Tables are used to do this.
Packet Identification (PID) tables are used to store the packets comprising a content data file in memory for later playback as a program.